package org.example.singletonPattern;

/**
 * 饿汉式单例
 * 优点：线程安全，实现简单
 * 缺点：类加载时就初始化，可能造成资源浪费
 *
 *
 * ✅ 服务启动时加载全局配置（如数据库连接参数、系统常量）
 * ✅ 资源消耗低且频繁使用的工具类（如日志管理器）
 * ✅ 需严格保证线程安全的轻量级对象（如ID生成器）
 * ⛔ 避免用于初始化耗资源但可能不立即使用的对象，防止内存浪费
 *
 *
 */
public class EagerSingleton {
    // 1. 私有静态实例，类加载时就创建
    private static final EagerSingleton INSTANCE = new EagerSingleton();

    // 2. 私有构造方法，防止外部实例化
    private EagerSingleton() {
        System.out.println("饿汉式单例实例被创建");
    }

    // 3. 公共静态方法，提供全局访问点
    public static EagerSingleton getInstance() {
        return INSTANCE;
    }

    // 示例方法
    public void showMessage() {
        System.out.println("这是饿汉式单例的方法调用");
    }
}